
public class Test {
    public static void main(String[] args) {
        Outer o = new Outer();
        o.do_some_thing();
    }
}

// 匿名类（anonymous class）
// 同时 “定义 + 创建” 一步完成，没有名字。
// 只能继承一个类或实现一个接口。
// 与局部类一样，持有外部实例引用（除非在 static 上下文里创建）。
interface SomeInterface {
    void run();
}

class Outer {
    private int w = 40;

    public void do_some_thing() {
        /* 一次性实现接口/抽象类 */
        SomeInterface some = new SomeInterface() {
            @Override
            public void run() {
                System.out.println(w);
            }
        };
        some.run();
    }
}